package com.megaspacevr.entity.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 个人信息请求VO
 */
@Getter
@Setter
@ToString
@Schema(description = "个人信息请求VO")
public class PersonalInfoVO {
    
    @Schema(description = "用户唯一标识")
    @NotBlank(message = "用户标识不能为空")
    private String userToken;
    
    @Schema(description = "姓名")
    @NotBlank(message = "姓名不能为空")
    @Size(min = 2, max = 20, message = "姓名长度必须在2-20个字符之间")
    private String name;
    
    @Schema(description = "联系电话")
    @NotBlank(message = "联系电话不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "请输入正确的手机号码")
    private String phone;
    
    @Schema(description = "性别")
    @NotBlank(message = "性别不能为空")
    private String gender;
    
    @Schema(description = "年龄")
    @NotNull(message = "年龄不能为空")
    private Integer age;
    
    @Schema(description = "教育程度")
    private String education;
    
    @Schema(description = "职业")
    private String occupation;
    
    @Schema(description = "宗教信仰")
    private String religion;
    
    @Schema(description = "掌握语种(JSON格式存储)")
    private String languages;
    
    @Schema(description = "是否为默认选择")
    private Boolean isDefault;

} 